package models

// Article 更多模型定义参考：https://gorm.io/zh_CN/docs/conventions.html
// ArticleCate
type Article struct {
	Id     int    `json:"id" form:"id" gorm:"column:id"`
	Title  string `json:"title" form:"title" gorm:"column:title"`
	CateId int    `json:"cateId" form:"cateId" gorm:"column:cate_id"`
	State  int    `json:"state" form:"state" gorm:"column:state" `
}

func (Article) TableName() string {
	return "article"
}

//	ArticleDto
//	@Description:
//
// 一对一 ，一篇文章对应一个分类
// ArticleCate
type ArticleDto struct {
	Id          int         `json:"id" form:"id" gorm:"column:id"`
	Title       string      `json:"title" form:"title" gorm:"column:title"`
	CateId      int         `json:"cateId" form:"cateId" gorm:"column:cate_id"`
	State       int         `json:"state" form:"state" gorm:"column:state" `
	ArticleCate ArticleCate `json:"articleCate" gorm:"foreignKey:cate_id;references:id"`
	//ArticleCate理解：
	//(外键)	foreignKey:cate_id  --指的是article表中的外键，外键名称为cate_id （如果外键名称为article_cate_id，即ArticleCate表名加上Id，则可以省略配置）
	//(主键)	references:id       --指的是ArticleCate表中的主键，主键名称为id (此处ArticleCate表中的主键就是id,可以省略配置)
}

func (ArticleDto) TableName() string {
	return "article"
}
